/*************************************************************************************
 * 主要介绍联合体的声明/定义/初始化
 * 联合体内部各变量共用内存空间，带来的好处就是节约内存。
 * 联合体内部各成员共用同一个内存起始地址。数值和大端小端强相关。
 * 结构体内部各变量之间是共存的，优点就是有容乃大，全面分配内存，不管各变量用不用全部分配
 * 联合体内部各变量之间是互斥的，优点是内存共享，内存空间使用更加灵活，缺点就是不够包容。
 * ***********************************************************************************/
#include "common.h"
using namespace std;

union Test {
    int age;
    char sex;
};

int main()
{
    union Test te;
    te.age = 20;
    printf("union Test sex = %d\n", te.sex);  // 改变age的值, sex也会跟着改变，大家共用同一块内存地址

    te.sex = 78;
    printf("union Test age = %d\n", te.age);  // 改变sex的值，age也会跟着改变
    return 0;
}
